/**
 * 火车票订单API接口
 *
 * JS文件可通过后端静态资源代理访问：js/{moduleName}-{businessName}.js
 * 
 * 在HTML中的使用方式：
 * ```html
 * <body>
 *     <!-- 引入API文件 -->
 *     <script src="js/{moduleName}-{businessName}.js"></script>
 *     
 *     <script>
 *         // 使用API - 查询列表
 *         TrainorderAPI.listTrainorder({ pageNum: 1, pageSize: 10 })
 *             .then(data => console.log('列表数据:', data))
 *             .catch(error => console.error('错误:', error));
 *         
 *         // 使用API - 获取详情
 *         TrainorderAPI.getTrainorder(1)
 *             .then(data => console.log('详情数据:', data))
 *             .catch(error => console.error('错误:', error));
 *         
 *         // 使用API - 新增数据
 *         TrainorderAPI.addTrainorder({ name: '测试', status: '1' })
 *             .then(data => console.log('新增成功:', data))
 *             .catch(error => console.error('错误:', error));
 *         
 *         // 使用API - 更新数据
 *         TrainorderAPI.updateTrainorder({ id: 1, name: '更新', status: '0' })
 *             .then(data => console.log('更新成功:', data))
 *             .catch(error => console.error('错误:', error));
 *         
 *         // 使用API - 删除数据
 *         TrainorderAPI.delTrainorder(1)
 *             .then(data => console.log('删除成功:', data))
 *             .catch(error => console.error('错误:', error));
 *         
 *          *         // 使用API - 获取下拉选项（仅数据表）
 *         TrainorderAPI.getTrainorderOptions()
 *             .then(data => console.log('选项数据:', data))
 *             .catch(error => console.error('错误:', error));
 *         
 *     </script>
 * </body>
 * ```
 * 
 * API函数说明：
 * - listTrainorder(query): 查询火车票订单列表，query为查询参数对象
 * - getTrainorder(id): 根据ID获取火车票订单详情
 * - addTrainorder(data): 新增火车票订单，data为表单数据对象
 * - updateTrainorder(data): 更新火车票订单，data为表单数据对象（需包含ID）
 * - delTrainorder(id): 删除火车票订单，id为要删除的记录ID
 *  * - getTrainorderOptions(): 获取火车票订单下拉选项列表（仅数据表可用）
 * 
 * 
 * 注意事项：
 * - 所有API函数返回Promise对象，需要使用.then()和.catch()处理结果
 * - 请求失败时会在控制台输出错误信息
 */


// 查询火车票订单列表
function listTrainorder(query) {
    return window.HeroRequest.request({
        url: '/boot/trainorder/list',
        method: 'GET',
        params: query
    });
}

// 查询火车票订单详细
function getTrainorder(trainOrderId) {
    return window.HeroRequest.request({
        url: '/boot/trainorder/' + trainOrderId,
        method: 'GET'
    });
}

// 新增火车票订单
function addTrainorder(data) {
    return window.HeroRequest.request({
        url: '/boot/trainorder',
        method: 'POST',
        data: data
    });
}

// 修改火车票订单
function updateTrainorder(data) {
    return window.HeroRequest.request({
        url: '/boot/trainorder',
        method: 'PUT',
        data: data
    });
}

// 删除火车票订单
function delTrainorder(trainOrderId) {
    return window.HeroRequest.request({
        url: '/boot/trainorder/' + trainOrderId,
        method: 'DELETE'
    });
}

// 获取火车票订单下拉选项列表
function getTrainorderOptions() {
    return window.HeroRequest.request({
        url: '/boot/trainorder/options',
        method: 'GET'
    });
}

// 查询特定火车的已售座位
function getTrainSeats(trainId) {
    return window.HeroRequest.request({
        url: '/boot/trainorder/seats/' + trainId,
        method: 'GET'
    });
}

// 导出API函数供全局使用
window.TrainorderAPI = {
    listTrainorder,
    getTrainorder,
    addTrainorder,
    updateTrainorder,
    delTrainorder,
    getTrainorderOptions,
    getTrainSeats
};